package object03;

public class Demo03 {
    public static void main(String[] args) {
        Person p1 = new Person("谢霆锋", 30);
        Person p2 = new Person("佟大为", 29);
        //boolean equals(Object obj)  //Object obj=new Person("佟大为", 29);//多态
        boolean b1 = p1.equals(p2);//false
        System.out.println(b1);

        boolean b2 = p1.equals(p1);//true
        System.out.println(b2);

    }
}
/*
   public boolean equals(Object obj) {
        return (this == obj);//谁调用的方法，this指向谁

  ==比较运算符
     a.基本数据类型比较的是两个基本类型的数值
        int i=3;
        int j=11;
        i==j;//false
     b.引用数据类型比较的是两个引用类型中的地址值


    1.obj=p2=new Person("佟大为", 29);
        this=p1= new Person("谢霆锋", 30);
        p1==p2//由于p1指向 new Person("谢霆锋", 30); ，假设地址值为0x4C
              //   p2指向 new Person("佟大为", 29); ，假设地址值为0x5B
              //由于两者的内存地址值不同，所以返回false

    2.obj=p1= new Person("谢霆锋", 30);
      this=p1=new Person("谢霆锋", 30);
      p1==p1;//由于p1指向 new Person("谢霆锋", 30); ，假设地址值为0x4C
             //因此p1地址值=p1地址值，返回true
 */